package com.dldata.devtools30.service.metadata;

import com.dldata.devtools30.entity.DevtModelMetadataFieldEntity;
import com.dldata.devtools30.repository.metadata.DevtModelMetadataFieldDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import java.util.Collections;
import java.util.List;

@Component
@Transactional
public class DevtModelMetadataFieldService {
    @Autowired
    private DevtModelMetadataFieldDao metadataFieldDao;

    public List<DevtModelMetadataFieldEntity> getAll(){
        return metadataFieldDao.getAll();
    }

    public List<DevtModelMetadataFieldEntity> getAllByTid(String tableid){
        return metadataFieldDao.getAllByTid(tableid);

    }
    public List<DevtModelMetadataFieldEntity> findById(String id){
        return metadataFieldDao.findById(id).
                map(Collections::singletonList).
                orElse(Collections.emptyList());
    }

    public void save(DevtModelMetadataFieldEntity metadataFieldEntity){
//        metadataFieldDao.save(metadataFieldEntity.getId(),metadataFieldEntity);
        metadataFieldDao.save(metadataFieldEntity);
    }

    public DevtModelMetadataFieldEntity findOne(String id){
        return metadataFieldDao.findById(id).get();
    }

    public void deleteOne(String id){
        metadataFieldDao.deleteById(id);
    }
}
